var pageSize = 100;
var curPage=0;

var initDate=function(){
    var dd = new Date();
    var di = dd - 1000*60*60*24*30;//30天前
    dd = new Date(di);
    var month = (dd.getMonth()+1) < 10 ? ("0" + (dd.getMonth()+1).toString()) : (dd.getMonth()+1).toString();
    var date = dd.getDate() <= 9 ? ("0" + dd.getDate().toString()) : dd.getDate().toString();
    var ds = dd.getFullYear().toString() + "-" + month + "-" + date;
    
    
	document.getElementById('start_date').value = ds;
	document.getElementById('end_date').valueAsDate = new Date();
};


var setData =function(data){
	var $tpl= $('#tpl');
	
    var source = $tpl.text();
    var template = Handlebars.compile(source);
    
    var myData = {
    	list: data
    };
    
    console.log("json:"+data.length);
    
    if(data instanceof Array){
    	//isLastPage = false;
        if(data.length>pageSize){
        	//一直都有，则一直不显示没有了
        	hideErrorMsg();
        }else{
        	//数据不够一页了，显示没有了
        	showErrorMsg("没有更多提醒信息了...");
        }	
    }else if(data instanceof Object){

    	//只有一个数据，或者没有数据，都是返回Object
    	if(data.empty !=undefined){
    		console.log("last page");
        	//isLastPage = true;
      	    myData = {
        		    };
        	console.info(myData);
        	
        	//翻页的最后一页.如果是该工号一个集团信息都看不到，也显示这个。
        	if(curPage==0){
        		 //第一页，并且有key，则是查询不到
        		 showErrorMsg("没有查询到你要的提醒");
        	}else{
        		    //第N页，不管是搜索还是不是搜素，没有了就是显示没有更多了
        		 showErrorMsg("没有更多提醒信息了...");
        	}
        	   		
    	}else{
    		//有一个数据的情况下
    		showErrorMsg("没有更多提醒信息了...");
    	}
    	
    }


    var html = template(myData);
    $tpl.before(html);
}
var show = function(data){
	hideCondition();
	setData(data);
	showResult();
};

var buildParams =function(){
	var startDate = $("#start_date").val();//"2016-01-01";
	var endDate = $("#end_date").val();//"2016-07-01";
	
	console.log("start date:"+startDate);
	console.log("end date:"+endDate);
	
	var rmdContent = encodeURI($("#rmdContent").val());
	
	
	//readFlag的传值，来自原esop的js源码解读
	var rmdState = $("#rmdState").val();  //0为有效，1为无效
	
	//readFlag的传值，来自原esop的js源码解读
	var readFlag = $("#readFlag").val();
	
	
	var rmdType = $("#rmdType").val();
	if(rmdType==0){
		rmdType="";
	}
	
	var url = "startDate="+startDate+"&endDate="+endDate+"&rmdContent="+rmdContent+"&rmdState="+rmdState+"&readFlag="+readFlag+"&rmdType="+rmdType+"&pageStart=0&pageLimit="+pageSize;
	
    var params ={"token":getParamValue("token"),"staffNo":getEmpCode(),"passUrl":url};
    //var params ={"token":getParamValue("token"),"staffNo":"ai_hanfeng","passUrl":url};
    return params;
};

var search = function(){
	
	var params = buildParams();
 	$.ajax({
	    type: "post",
	    contentType: "application/json",
	    data: JSON.stringify(params),
	    url: Constants.rpcEsopHost+"queryMyReminds",
	    dataType: "json",
	    async: true,
	    headers: {
      'token': getParamValue('token'),
      'saleType': getParamValue('saleType')
    },
    success: function(data) {
      if (data.ResultCode === 1009) {
        alert('登陆超时，请重新登录！');
        jumpToSignin();
        return;
      }
	    	console.log("xxxx data = "+data);
	        console.info(data);
	        if(data.rtnCode!=1000){
	        	alert("搜索失败："+data.rtnMsg);
	        	console.log("RPC搜索提醒接口返回失败！code:"+data.rtnCode);
	        	return;
	        }
	        if(data.return.resultCode!="00"){
	        	alert("搜索失败："+data.return.resultDesc);
	        	console.log("搜索提醒接口返回失败！code:"+data.return.resultCode);
	        	return;
	        }
	        removeUlContent();
	        show(data.return.remindList);
	    },
	    error : function(textStatus) {
	    	alert("搜索失败！服务器没有返回。");
	        console.info("request error:");
	    }
	  });
};


var hideResult = function(){
	$result  = $("#result");
	if(!$result.hasClass("am-hide")){
		$result.addClass("am-hide")
	}
}

var showResult = function(){
	$result  = $("#result");
	if($result.hasClass("am-hide")){
		$result.removeClass("am-hide")
	}
}

var hideCondition = function(){
	$condition  = $("#condition");
	if(!$condition.hasClass("am-hide")){
		$condition.addClass("am-hide")
	}
}

var showCondition = function(){
	$condition  = $("#condition");
	if($condition.hasClass("am-hide")){
		$condition.removeClass("am-hide")
	}
}

//信息和错误提示要分开，是因为有内容时，也是要提示底部信息的。每个TAB都有一个底部信息，是因为每个TAB都是单独请求数据的，每个都可能同时显示不同的内容。
var showErrorMsg = function(msg){
	$errorMsg = $("#error_msg");
	if(msg==null)
		msg="接口返回失败，错误信息为空";
	$errorMsg.html(msg);
	if($errorMsg.hasClass("am-hide")){
		$errorMsg.removeClass("am-hide");
	}
};

var hideErrorMsg = function(){
	$errorMsg = $("#error_msg");
	if(!$errorMsg.hasClass("am-hide")){
		$errorMsg.addClass("am-hide");
	}
};

var removeUlContent = function(){
	  $("#ul_result > li").remove(); 
	  hideErrorMsg();
};


$(function(){
	initDate();
	
	$("#search").on("click",function(){
		var startDate = $("#start_date").val();
		var endDate = $("#end_date").val();
		var date1=new Date(startDate);
		var date2=new Date(endDate);
		if(date1>date2){
			alert("开始日期不能大于结束日期！");
			return;
		}
		
		search();
	});
	
	$("#cancel").on("click",function(){
		window.history.back(-1);
	});
	
	$("#back").on("click",function(){
		showCondition();
		hideResult();
	});


	
});